<!DOCTYPE html>
<!-- 声明html5标准 -->
<html lang='zh'>
<!-- 这个主要是给搜索引擎看的，搜索引擎不会去判断该站点是中文站还是英文站，所以这句话就是让搜索引擎知道，你的站点是中文站
对html页面本身不会有影响,这些现在都是html规范，你的页面越规范，就越容易被收录 -->

<head>
    <meta charset='UTF-8'>
    <!-- 声明使用UTF-8 Unicode编码，UTF-8编码优先采用的编码 -->
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <!--  X-UA-Compatible是针对IE新加的一个设置 声明兼容到edge -->
    <meta name='viewport' content='width=device-width, initial-scale=no'>
    <!--width:可视区域的宽度，值可为数字或关键词device-width intial-scale:页面首次被显示是可视区域的缩放级别，取值1.0则页面按实际尺寸显示，无任何缩放 -->
    <title>Document</title>
    <!-- 引入vue.js -->
    <script src='./js/vue.js'></script>
</head>

<body>
    <div id='root'>
        <!-- 1.vue生命周期? 页面从创建,修改,销毁的过程  -->
        <!-- 2.vue生命周期函数共有8人 -->
        <!-- 3.创建时期 :beforeCreate:这时还获取不到vue中data和methods,data和methods还没有挂载到vue实例中. 
               created:data和methods已经初始化成功,能获取到对应的值了,接口的请求.  
               beforeMount:已经将模板渲染到内存中,这时还拿不到dom元素. 
               mounted:这时页面已经渲染了,可以拿到dom元素了.操作:swiper在mounted里面做初始化操作.
         修改: beforeUpdate:这时页面的还是旧的,data的数据已经发生修改. 
               updated:页面和数据就同步了. 
         销毁: beforedestory:这时还能拿到data和methods里面的数据,包括全局定义的定时器. 操作:消除定时器. 
               destroyed:这时已经拿不到data和methods里面的数据了. 
            4:vue-resource: 引入时, 先引入vue.js  
              使用方式: this.$http.get("url?canshu=123").then(res=>{console.log(res)}).catch()
               post请求,表单emulateJSON:true, 表单格式. 
            5:vue-axios: axios.get("url","data").then(function(res){}).catch(err=>)
                        请求表单格式. let obj=new URLsearchParams()
                                        obj.append("key",'value')
                                        obj.append("key",'value')
                         axios.post("url",data).then
                         /weChat/applet/course/list/type
                         axios({
                             url:"接口地址",
                             baseUrl:"服务域名",
                             method:"提交方式",
                             data:"参数"
                         })
                            obj.append('type', 'free')
                            obj.append('pageNum', 1)
                            obj.append('pageSize', 10)
                         if(data是否表单){
                             去数据库查询数据,
                            [1,2,3,,4,5,6,7,,8,9,10]
                         }else{
                             throw 抛异常.  
                         }
            6:vue过渡动画. css来指定动画, 通过<transition name="fade"></transition> css .fade-enter{} .fade-leave-to{},
            .fade-enter-active,.fade-leave-active{transition:all 2s linear;} 
            v-show . 
             animate. 
             vue过渡动画 钩子函数. <transition @before-enter="" @enter="" @after-enter><transtion>
                 enter(el,done){
                    //el 就是dom,
                    el.offsetWidth; //强制执行动画. 
                     done()
                 } 
            7  列表过渡. <transition-group name="list" tag="ul">  .name-move{} 动态添加的时候,当列表顺序发生改变时,
                添加的过渡效果. 
        -->
    </div>
    <script>
        let vue = new Vue({
            // 选择控制区域,通过选择器去选到他，工作中一般使用id选择器;
            el: '#root',
            // 数据储存位置
            data: {},
            // 方法的储存位置
            methods: {}
        })
    </script>
</body>

</html>